package net.xdclass.strategy;

import org.codehaus.groovy.runtime.typehandling.IntegerMath;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

/**
 * @author Allen
 * @version 1.0
 * @date 2022/11/10 16:17
 */
public class ShardingDBConfig {
    /**
     * 存储数据库位置编号
     */
    private static final List<String> dbPrefixList = new ArrayList<>();

    private static Random random = new Random();

    //配置启用那些库的前缀
    static {
        dbPrefixList.add("0");
        dbPrefixList.add("1");
        dbPrefixList.add("a");
    }


    /**
     * 获取随机的前缀
     * @return
     */
    public static String getRandomDBPrefix(String code){
        int hashCode = code.hashCode();

        int index = Math.abs(hashCode) % dbPrefixList.size();

        return dbPrefixList.get(index);
    }

    public static void main(String[] args) {
//        for (int i = 0; i < 5; i++) {
//
//            String randomDBPrefix = ShardingDBConfig.getRandomDBPrefix();
//            System.out.println(randomDBPrefix);
//        }

    }
}
